% file: sai.tex

\chapter{是否有关于智能的一个\emph{简单}\,的算法？}

本书中，我们聚焦在神经网络的实现细节上：神经网络工作的机制以及如何用来解决模式识
别问题。这是有着直接实际应用的部分。不过，我们对其感兴趣的一个原因当然是希望有一
天，神经网络可以超越这些基础的模式识别问题。可能神经网络或者其他基于数字计算机的
观点，最终可以被用来构建可以媲美甚至超越人类智慧的思维机器？这个问题已经远远超出
了本书要讨论的内容~——~或者说世界上其他任何人所知晓的认知。但是猜测一下也是很有意
思的。

其实已经有了很多关于计算机最终是否能达到人类智慧的程度的争论。我并不想参与其中。
相比现在的争论，我相信智能计算机是可能的~——~尽管它可能极其复杂，也许远远超过当前
的技术~——~现在的反对者将来会如同活力论者那样。

    指关于生命本质的一种唯心主义学说。又名生机论或生命力论。生物体与非生物体的区
    别就在于生物体内有一种特殊的生命“活力”，它控制和规定着生物的全部生命活动和
    特性，而不受自然规律的支配。它主张有某种特殊的非物质的因素支配生物体的活动。

而且，这里我们要讨论的问题是，存不存在一个简单的原则集合可以用来解释智能？特别且
具体地说，是否存在一个简单的算法来产生智能？

智能是通过一个相当简单的算法得到是个非常大胆的想法。可能这看起来太过乐观了。很多
人有一种直觉，认为智能需要有相当难以规约的复杂性。他们被人类思维的令人惊奇的差异
性和灵活性所震惊，所以认定有一个简单的算法来产生智能是不可能的。尽管有着这样的直
觉认知，我也不觉得急于下结论是明智的选择。科学史充满了众多由某些简单却强大的想法
来取代开始时过分复杂的规律来解释一些现象的例子。

例如，早期的天文学中，人类从远古时代就已经知道了天空中的星体对象：太阳、月亮、行
星、彗星和恒星。这些天体按照不同的方式运动~——~恒星依照缓慢规则的方式在天空运转，
而彗星则是拖着尾巴划过天空然后消失得无影无踪。在 16 世纪，乐观的傻子才能够想象出
所有这些天体的行动都可以用一个简单的原理集合来解释。但是在 17 世纪，牛顿给出了普
遍的重力理论，不仅仅解释了所有这些运转的原理，同时还解释了地球上的涨潮和弹起行为。
16 世纪愚蠢的乐观主义者们事后看起来就如悲观主义者，要求太少了。

当然科学包含很多这样的例子。想想神秘的构成整个世界的化学物质，通过门捷列夫的元素
周期表得到了优美地解释，而这个规律又通过更简单的源自量子力学中的规则得到解释。又
如在生物世界中太多的复杂性和多样性产生了诸多困扰，最终发现产生困扰的原因就是一个
进化的自然选择规律。所有这些例子都表明如果仅仅由于我们的大脑~——~目前来说大脑是智
能最好的体现~——~表现出复杂的功能就不采用一个简单的关于智能的解释，这其实是一个不
明智的选择。在这个附录中，我假想拥有智能的计算机的能力必须匹配或者超过人类思考的
能力。所以，我会将“是否存在一个智能的简单算法？”等价为“是否存在一个简单算法，
它可以遵循人类大脑的途径去进行‘思考’？”。然而，值得注意的是，其实也可能存在不
可以归入人类思维的智能形式，但这些智能会在从一些有趣的方面超过人类思维。

相反，尽管有这些乐观的例子，智能只能由大量基本的分隔开的机制解释在逻辑上也很可能。
比如人类的大脑，这些大量的机制可能是在我们物种进化史过程中对大量不同的选择压力反
应的进化结果。如果这个观点是正确的，那么智能实际上就应该包含相当多的不可规约的复
杂性，也不存在关于智能的简单算法。

这两种观点哪种正确？

为了深入探讨这个问题，我们再问一个密切相关的问题，是否存在关于人类大脑工作机制的
简单解释。特别地，让我们看一下量化人脑复杂性的方式。第一个观点是连接组学 。这套
理论关于原始的连接：大脑中有多少个神经元，多少神经胶质细胞，神经元之间多少连接。
你之前可能听过这些数字~——~大脑包含1000亿量级的神经元，1000 亿量级的胶质细胞，100
万亿量级的连接。这些数字都是令人震惊的天文数字。如果我们需要理解所有这些连接的细
节（忽略神经元和胶质细胞）来理解大脑工作的机制，那么我们肯定就得不到智能的一个简
单算法。第二个更加乐观的观点来自分子生物学中大脑的理解。其想法是关于需要多少基因
信息来描述大脑的架构。为了处理这个问题，我们从考虑人类和大猩猩的基因差异开始。现
在我们可能已经听到诸如“人类是 98\% 的大猩猩”这样的话语。这种说法其实非常杂
乱~——~有些人说是 95\% 或者 99\%。出现这样的变体是因为通过比较人类和大猩猩基因的
样本而非整体的基因的估计结果。然而在 2007 年整个大猩猩的基因被序列化(或者参考 这
里)，我们现在知道人类和大猩猩的 DNA 有 1.25 亿个不同的 DNA 基对。而总共的基对大
概是 30 亿个。所以说人类是 96\% 的大猩猩更加合适一些~——~1.25 亿/30亿 近似于
0.04166666666。

在那 1.25 亿的不同的基对中究竟有多少信息？每个基对可以通过 4 个可能进行标记~——~
基因代码（A adenine, C cytosine, G guanine, 和 T thymine）。所以每个基对可以使用
两个比特的信息进行描述——2 的平方为 4）所以 1.25 亿的基对就相当于有 2.5 亿比特的
  信息。这就是人类和大猩猩的基因差异！

当然，这 2.5 亿比特表示了人类和大猩猩之间所有基因差异。我们仅仅对那些有关大脑的
部分感兴趣。不幸的是，没有人知道哪一部分的基因差异是用来解释大脑部分的。但是我们
先假设一下，有一半的比特对大脑负责。也就是总共是 1.25 亿个比特。

1.25 亿比特是非常大的数字。让我们看看用更加人类友好的方式感受一下这个数字的大小。
比方说，看看有多少等量的英文文本的大小。根据这篇 ，英文文本的信息内容是一个字母
一个比特。看起来很少~——~英文字母表有 26 个字母~——~但是在英文文本中有相当大量的冗
余。当然，你可以争论我们的基因数据也是冗余的，所以两个基对的假设也是高估的。但是
我们这里忽略这些信息，因为最差情况是我们高估了人脑的基因复杂性。所以有了这些假设，
我们看到在人脑和大猩猩脑的基因差异等价于 1.25 亿的字母，或者 2500 万的英文字母。
这是 King James 圣经的 30 倍大小。

这是很大量的信息。但是并不是超越理解的大。还是在人类的理解范围内的。可能没有一个
单个人能理解所有的代码，但是一群人通过合理的分工是能够集体性地掌握了这些内容。尽
管这是很大量的信息，这和需要描述1000 亿神经元、1000亿胶质细胞和 100 万亿的连接相
比只是很小一部分。即使我们使用一个简单粗略的描述~——~比如说，10 浮点数来刻画每个
连接~——~这就需要大概 70 X 1015的比特。这意味着基因描述相较于人脑内连接数的原始描
述降低了十亿倍的复杂性。

我们从上面的例子中学到的就是基因不可能包含一种关于神经连接的细节的描述。而是，必
须制定一个有关人脑的宽泛的架构和基本原理。但是这个架构和原理看起来足够有能力指导
我们人类成长出现智能。当然，存在一些附加条件~——~儿童的成长需要健康、启发性的环境和良
好的营养才能达到智能的潜力发展。但是假设我们是成长于一个合理的环境中，健康的人类
将有非凡的智能。某种意义上，在我们基因中的信息包含了如何思考的本质需求。另外，这
些包含在基因信息中的原理看起来可以内化在人类的可以进行集体掌握知识的能力中的。

所有上面的数字都只是相当粗略的估计。很可能1.25亿比特是高估了的，也可能某些更加紧
致的核心原理集合存在于人类思维之中。可能大多数的比特仅仅是相对微小细节的微调。或
者可能我们计算这些数字的时候过度保守。显然，如果这样子是正确的，一切很好！对我们
现在的目的，关键是：大脑的架构是复杂的，但是比你基于大脑的连接去考虑问题还是简单
很多。从分子生物学角度看大脑说明我们人类可以在某天理解大脑内部的工作原理。

在上面的篇章里，我已经忽略了 1.25 亿比特仅仅量化了人类和大猩猩大脑基因差异。但并
不是说我们大脑的功能仅仅取决于这 1.25 亿比特。大猩猩在它们自身角度却也是非凡的思
考者。可能对智能的关键是那些大猩猩和人类在精神能力（和基因）上共同的部分。如果这
个观点正确，人类大脑可能就是大猩猩大脑的微小的升级，至少是从内部构造的复杂性上的
升级。尽管传统的人类沙文主义在人类独特性上的观点这是难以置信的：大猩猩和人类的基
因在五百万年前分化，这在进化的时间轴上就是很小的一段。但是，从一个更加有说服力的
观点，我很同情人类沙文主义者：我的猜测是关于人类思维最有趣的原理存在在 1.25 亿比
特上，而不是我们和大猩猩共同拥有的那部分基因。

采用分子生物学的大脑的观点让我们能够将问题降低 9 个数量级的复杂性。尽管令人振奋，
但这也没有告诉我们关于智能简单的算法是否可能。我们能够在复杂性上进一步规约么？更
加准确地说，我们是否能够回答“简单算法是否能够产生智能”的问题？

不幸的是，现在还没有足够强有力的证据来确定地解决这个问题。我们下面给出一些已有的
证据，以一种简要和不完备的概览，不以深入完整的研究综述的形式来讲讲近期的工作的进
展。

在能够表明可能会存在一种简单的关于智能的算法的一些证据中有一个是在 2000 年 4 月
的自然上的实验报告。由 Mriganka Sur 领导的科学家小组“重连”了新生雪貂的大脑。通
常来自雪貂眼睛的信号会被传递到脑中称为视觉皮层处。但是对这些雪貂，科学家将眼睛获
得的视觉信号重新传递到听觉皮层，也就是脑中通常负责听的那个区域。

为了理解当他们这么做时发生了什么，我们需要知道一点关于视觉皮层的知识。视觉皮层包
含许多方位功能柱orientation columns 这些其实是神经元的小板，每个对来自某个特定方
向的视觉刺激有响应。你可以将防伪功能柱看做是微小的方向检测器：当某个人从某个特定
的方向亮起一道光时，对应的方位功能柱就会被激活。如果光线被移走，不同的方位功能柱
就会被激活。视觉皮层中最为重要的高层结构的一个重要结构是方位地图 orientation map，
它展示了方位功能柱是如何分布的。

科学家发现的现象是当来自雪貂眼睛的视觉信号重定向传递到听觉皮层时，听觉皮层发生了
变化。方位功能柱和一个方位地图就开始出现在听觉皮层中。这个方位地图和正常的视觉皮
层中的方位地图相比更加无序，但毫无疑问是类似的。另外，科学家进行过一些训练雪貂对
不同方向的光线刺激，研究雪貂对视觉刺激不同反应的工作机制。这些测试表明雪貂通过听
觉皮层仍旧可以学会“看”~——~至少是以一种初级的方式在学习。

这是相当令人吃惊的。它表明大脑不同部分存在共同的原理去学习对数据进行反应。这种共
性给出了对存在一个简单的原理产生智能的想法一些支持。但，我们也不能被取得的这点成
果就觉得万事大吉。行为测试仅仅对视觉相当粗的方面进行了验证。并且我们也不能去问雪
貂它们是否“学会看见”。所以实验并没有证明重连的听觉皮层就给予雪貂精确的视觉经验。
所以它们只能是给出了受限制的证据表明大脑不同部分学习的共同原理。

什么样才算是智能由一个简单算法产生的证据？有些证据源自进化心理学和神经解剖学。自
从 1960 年代进化心理学家已经发现了相当广泛的人类一般性概念，在抚育和所有人类的复
杂行为中共同出现的复杂行为。这些人类一般概念包含乱伦禁忌、音乐和跳舞的使用，以及
非常复杂的语言结构，如誓词（i.e. 禁忌词），代词甚至和动词一样基础的结构。作为对
这些结果的补充，大量神经解剖学的证据表明很多人类行为由大脑特定局部区域决定的，而
这些区域看起来在所有人类身上都是类似的。总而言之，这些发现表明很多非常专门的行为
其实很难直接和大脑特定的部分联系起来。

某些人从这些结果中下结论：分割的解释是对很多大脑功能所必需的，所以大脑的功能存在
着一个不可化归的复杂性，这也让为大脑运作（或者说，智能的简单的算法）找出一个简单
的解释不太可能。例如，著名的人工智能科学家 Marvin Minsky 就持有这样的观点。在
1970 年代和 1980 年代，Minsky 给出了自己的“思维社会”理论，基于的观点就是人类智
能是独立简单的（不过非常不同的）计算过程（他称之为 agent ）的社会（society）的结
果。在描述这个理论的书中，Minsky 将自己观察到的东西总结为这种观点的能力：

    什么神奇的技巧让我们变得智能？这其实没有技巧。智能的能力从我们广泛的多样性中
    诞生，而非从任一简单、完美的原理中。

在一个对此书书评的回应中，Minsky 详细说明了自己写作的动机，他基于神经解剖学和进
化心理学给出了一个类似于上面一段话的观点：

    我们现在知道大脑本身有数百个不同的区域和基底核构成，每个都有相当不同的架构元
    素和排列方式，其中很多是和展现出来的人类不同的精神活动相关联的。知识的现代构
    造表明很多传统的通过常识（如“智能”或者“理解”这样的）术语描述的现象实际上
    包含了机械过程的复杂的组合。

Minsky 当然不是仅有的一个持有这样观点的科学家；我仅仅用他作为一个使用这样观点的
代表。这个观点本身也是很有意思的，但是不要太过相信这些证据。尽管大脑的确包含了大
量不同的区域，这些区域有不同的功能，但这也不能够得出结论说，给大脑功能一个简单的
解释是不可能的。因为很可能这些架构的不同其实有着共同的原理，实际上也可以像彗星、
行星、太阳和恒星的运动都是遵循着重力一样。Minsky 和其他人都不能够反驳这样的统一
观点。

我自己的偏好是存在一个对于智能的简单算法。因为我认为这是一个乐观的想法，所以我比
上面的那个（未下结论的）观点更喜欢这个简单算法的想法。对于研究，一个未被验证的乐
观的观点比之消极观点通常可以催生出更多的结果，因为乐观主义者有勇气出发和尝试新的
事物。这是发现之路，即使最终发现的结果不是刚开始希望的。而消极者可能会在某种狭隘
的感觉下更加“正确”，但是会发现较少的结果。

这种观点和我们通常评价想法的方式形成了鲜明对比：通过尝试弄清楚他们是对的还是错的。
这是一个按照细节的流程处理日常研究可行的策略。但是这却会在评判一个宏大、大胆想法
上~——~比如说类似于确定整个研究项目上的想法~——~的一种错误的方法。有时候，我们只有
关于是否某个想法正确与否的弱证据。我们可以拒绝遵循这样简单算法的想法，去花费所有
的时间去调查已有的证据，试着去判断什么是正确的。或者我们可以选择另外的观点，当作
现在没有人知道，然后努力发展宏大、大胆的想法，在认识到我们没有成功的保证的前提下，
这其实才是让理解进步的的方式。

总而言之，按照其最为乐观的形式，我不相信人类找到智能的简单算法。更加具体地说，我
不相信我们会最终找到一个相当简短的 Python（或者 C 或者 Lisp，或者其他什么语言）
的程序~——~假设有上千行~——~能够实现人工智能。我也不认为我们能够最终找一可以简单描
述的神经网络可以实现人工智能。但是我相信，值得坚持我们能够找到这样的程序或者网络
的想法去进行探索。这是获得洞察力的途径，通过推进这种发展，我们可能在某天能够达到
足够深的理解，从而可以学出一个较长的代码或者设计出一个更加精密的网络能够展示智能。
所以，认为一个智能的简单算法存在非常值得。

在 1980 年代，杰出的数学家和计算机科学家 Jack Schwartz 被邀请参加一个人工智能倡
导者和怀疑者之间的辩论。该辩论场面最后失控，倡导者一直在鼓吹正在发生的进展非常的
惊人，怀疑者们则非常悲观，认为人工智能完全不可能实现。Schwartz 保持超然的态度，
在讨论升温时保持着安静。在一个间息，他被问起有什么看法。Schwartz 说道，“好吧，
这些研究发展中的一部分研究需要有数百个诺贝尔奖作为垫脚石。”（ref。这个观点我觉
  得非常合适。人工智能的关键是简单，强大的想法，我们能够也必须要乐观地去探索这些
  想法。但是现在需要很多这样的想法，仍然有很长的路要走！
